ROP Compiler Jeff Stewart , Veer

نویسندگان

  • Jeff Stewart
  • Veer Dedhia
چکیده

When developing exploits for modern x86 64-bit systems, attackers must handcraft exploits for each binary. This involves finding a vulnerability (such as a stack-based buffer overflow) and diverting control flow (overwrite return address). Modern exploits employ Return-Oriented Programming (ROP) to bypass widely deployed defenses such as WˆX. Building a ROP chain requires manual effort to find suitable gadgets out of the multitude of existing code snippets, and then chain those gadgets together in the correct order to call functions or execute injected code. x86 64-bit systems present some challenges that do not exist on other platforms. For example, the 64-bit calling convention primarily uses register arguments, as opposed to stack-pushed arguments on many 32-bit systems. This requires finding gadgets to set values in registers, instead of using an overflow to write to the stack. While many tools exist to help the various stages of exploit building, no public compiler is available to fully create these ROP chains. We present a simple ROP Compiler, developed to more easily generate ROP chains, given a binary and goal. We demonstrate our compiler on both a proof-of-concept simple binary, as well as a well-known utility, rsync. Our tool generates working ROP chains to inject and execute shellcode or call other functions.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

ROPecker: A Generic and Practical Approach For Defending Against ROP Attack

Return-Oriented Programming (ROP) is a sophisticated exploitation technique that is able to drive target applications to perform arbitrary unintended operations by constructing a gadget chain reusing existing small code sequences (gadgets). Existing defense mechanisms either only handle specific types of gadgets, require access to source code and/or a customized compiler, break the integrity of...

متن کامل

ROPecker: A Generic and Practical Approach For Defending Against ROP Attacks

Return-Oriented Programming (ROP) is a sophisticated exploitation technique that is able to drive target applications to perform arbitrary unintended operations by constructing a gadget chain reusing existing small code sequences (gadgets). Existing defense mechanisms either only handle specific types of gadgets, require access to source code and/or a customized compiler, break the integrity of...

متن کامل

SIGDROP: Signature-based ROP Detection using Hardware Performance Counters

Return-Oriented Programming (ROP) is a software exploit for system compromise. By chaining short instruction sequences from existing code pieces, ROP can bypass static code-integrity checking approaches and non-executable page protections. Existing defenses either require access to source code or binary, a customized compiler or hardware modifications, or suffer from high performance and storag...

متن کامل

What Cannot Be Read, Cannot Be Leveraged? Revisiting Assumptions of JIT-ROP Defenses

Despite numerous attempts to mitigate code-reuse attacks, Return-Oriented Programming (ROP) is still at the core of exploiting memory corruption vulnerabilities. Most notably, in JIT-ROP, an attacker dynamically searches for suitable gadgets in executable code pages, even if they have been randomized. JIT-ROP seemingly requires that (i) code is readable (to find gadgets at run time) and (ii) ex...

متن کامل

Group 4 initiators for the stereoselective ROP of rac-β-butyrolactone and its copolymerization with rac-lactide.

In this paper we demonstrate the utility of Group 4 metals for the well-controlled and stereoselective (syndiotactic) ring opening polymerization (ROP) of rac-β-butyrolactone (BBL) and their ability to form copolymers.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015